package com.douwong.student.enums;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonValue;

/**
 * @autor yichao
 * @time 2016/8/2615:04
 * @des 教师与学生通迅时命令类型
 */

public enum E_CommandType {
    /**默认值，空*/
    noCommand(0),
    /**
     * 跳转云请求
     */
    cloud(1),
    /**
     * 上传成功
     */
    uploadSuccess(2),
    /**正在上课的老师id*/
    studentGetTeacher(3),

    /**学生端给老师发送文件*/
    studentToTeacherFile(4),
    /**云:获取云备课*/
    cloudLesson(5),
    /**云:获取云备课详细信息*/
    cloudLessonDetail(6),
    /**发送测验题*/
    testSend(7),
    /**收取测验题*/
    testCollect(8),
    /**提交测验题*/
    testSubmit(9),
  /*  *//**获取学生列表*//*
    cloudStudentList(10),*/
    /**老师推送学生考试成绩信息*/
    testStatistics(10),
    /**关闭连接*/
    closeConnent(11),
    /**发送学生状态*/
    sendStudentState(12),
    /**获取学生状态*/
    getStudentState(13),
    /**发送问答互动的题目*/
    qaSendSubject(14),
    /**提交问答互动答案*/
    qaSubmitAnswer(15),
    /**公布问答互动答案*/
    qaPublicAnswer(16),
    /**小组讨论发送组成员和题目*/
    discussSend(17),
    /**小组讨论投票组长*/
    discussVote(18),
    /**小组讨论推荐自己为组长*/
    discussVoteOwn(19),
    /**小组讨论确认组长*/
    discussConfirm(20),
    /**小组讨论提交答案*/
    discussSubmit(21),
    /**小组讨论完成讨论*/
    discussComplete(22),
    /**小组讨论结束讨论*/
    discussEnd(23),
    /**教师登录服务器*/
    serverLoginTeacher(24),
    /**学生登录服务器,学生加入课堂*/
    serverLoginStudent(25),
    /**老师推送学生考试成绩信息*/
   /* testStatistics(26),
    *//**关闭学生考试成绩页面*/
    finishStatistics(27),
    /**结束问答互动*/
    qaEnd(28),
    /**发送手写互动*/
    hwSend(29),
    /**手写互动更改状态*/
    hwchange(30),
    /**提交手写互动*/
    hwsubmit(31),
    /**老师发布抢答*/
    answer(32),
    /**老师确认抢答者*/
    answerCnfirm(33),
    /**随机学生作答*/
    answerRandom(34),
    /**全班作答*/
    answerClass(35),
    /**老师询问学生是否听懂*/
    know(36);

    private    int value;
    E_CommandType(int value) {
        this.value=value;
    }
    public void setValue(int value) {
        this.value = value;
    }
    @JsonValue
    public int getValue() {
        return value;
    }
    @JsonCreator
    public static E_CommandType getItem(int value){
        for(E_CommandType item :values()){
            if (item.getValue()==value){
                return item;
            }
        }
        return null;
    }
}
